/**
 *
 */
package com.ssyt.examinationsystem.dao;

import com.ssyt.examinationsystem.entity.RightInfo;
import com.ssyt.examinationsystem.entity.RoleInfo;

import java.util.List;
import java.util.Map;

/**
 * @author Administrator
 */
public interface IRightInfoDAO {
    /**
     * 通过角色编号获取所有主菜单的集合接口
     *
     * @param role
     * @return
     */
    List<Map<String, Object>> getMainMenuByRoleId(RoleInfo role);

    /**
     * 通过角色编号获取所有子菜单的集合的接口
     *
     * @param role
     * @return
     */
    List<Map<String, Object>> getChildMenuByRoleId(RoleInfo role);

    /**
     * 获取所有主菜单的集合接口
     *
     * @param role
     * @return
     */
    List<Map<String, Object>> getMainMenus();

    /**
     * 获取所有子菜单的集合的接口
     *
     * @param role
     * @return
     */
    List<Map<String, Object>> getChildMenus();

    /**
     * 根据角色编号判断是否有权限
     *
     * @param roleId
     * @return
     */
    boolean isGrantByRoleId(String roleId);

    /**
     * 判断是否删除了权限
     *
     * @param roleId
     * @return
     */
    boolean deleteGrantByRoleId(String roleId);

    /**
     * 添加权限
     *
     * @param roleId
     * @param ids
     * @return
     */
    int addGrantByRoleId(String roleId, String rightId);

    /**
     * 获取根菜单和主菜单
     */
    List<Map<String, Object>> getSysMainMenus();

    /**
     * 添加权限信息的声明
     */
    int addRightInfo(RightInfo right);

    /**
     * 根据父权限编号查询权限编号
     */
    String getMaxRightIdByParentId(String parentId);
}
